草庐IT

Android App封装 —— ViewBinding

全部标签

HarmonyOS—代码Code Linter检查

CodeLinter代码检查Code-Linter针对ArkTS/TS代码进行最佳实践、编程规范方面的检查,目前还会检查ArkTS语法规则。开发者可根据扫描结果中告警提示手工修复代码缺陷,或者执行一键式自动修复,在代码开发阶段,确保代码质量。检查方法:在已打开的代码编辑器窗口单击右键点击CodeLinter,或在工程管理窗口中鼠标选中单个或多个工程文件/目录,右键选择CodeLinter执行代码检查。配置代码检查规则在工程根目录下创建code-linter.json5配置文件,可对于代码检查的范围及对应生效的检查规则进行配置,其中files和ignore配置项共同确定了代码检查范围,ruleS

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Image)

Image为图片组件,常用于在应用中显示图片。Image支持加载PixelMap、ResourceStr和DrawableDescriptor类型的数据源,支持png、jpg、jpeg、bmp、svg、webp和gif类型的图片格式。说明:该组件从APIVersion7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。需要权限使用网络图片时,需要申请权限ohos.permission.INTERNET。具体申请方式请参考声明权限。子组件无接口Image(src:PixelMap|ResourceStr|DrawableDescriptor)通过图片数据源获取图片,用于后续渲

Python + Selenium —— 常用控制方法!

Selenium体系中用来操作浏览器的API就是WebDriver,WebDriver针对多种语言都实现了一套API,支持多种编程语言。Selenium通常用来做自动化测试,或者编写网络爬虫。通常我们说的Selenium自动化操作,指的就是WebDriver中提供的控制方法。一般我们讲Selenium多半都是在谈WebDriver。Webdirver中提供了对浏览器、网页元素、鼠标键盘等操作方法:浏览器操作: 打开和关闭浏览器、改变浏览器分辨率,切换窗口,模拟刷新等页面元素定位: WebDriver中提供了Id、Name、Linktext、Css、Xpath等定位方式,用于查找需要操作的网页元

今天的学习目标之——Verilog实现仲裁器(固定优先级、RR轮询仲裁器)的设计

#每天进步一点#一、何为仲裁器仲裁器在FPGA中的应用非常广泛,其作用是对有限资源进行配置。当多个模块对同一资源发起需求时,此时就需要仲裁器进行抉择,决定资源的归属权。二、仲裁的优先级既然进行仲裁,则必须有一个规则,即仲裁的优先级,目前一般广泛使用的设计有两种:固定优先级和轮询调度(RoundRobin)。三、Verilog代码实现1.固定优先级n选1仲裁器modulefix_pri_arb_n21#( parameterreq_num=8 )(input[req_num-1:0]req, output[req_num-1:0]grant ); assigngrant=req&(~(req-

Kafka篇——SpringBoot中使用Kafka,详细的集成和简单生产消费流程流程,常见消息配置,黄金文档!

集成和简单生产消费流程一、引入依赖二、配置文件中配置Kafka将来我们的项目大概率不会是会都扮演生产者和消费者两个角色,所以在集成Kafka的时候,生产者的项目中只配置生产者相关的配置即可,消费者项目配置消费者的相关的配置即可三、编写生产者代码为了简化演示,直接将业务层代码写到了控制层,见谅哈!四、编写消费者注意:如果不调用手动提交offset这个方法,那么会产生消息重复消费的问题五、调用生产者的接口,观察消费者是否正常消费到消息1、调用生产者接口2、观察控制台消费者可以看到生产者发送了消息,消费者立刻就拿到了消息!消费消息细节配置一、指定Broker的主题和分区,控制消费者数量和消费偏移量二

网络编程套接字(4)——Java套接字(TCP协议)

目录一、Java流套接字通信模型二、TCP流套接字编程 1、ServerSocketServerSocket构造方法:ServerSocket方法:2、SocketSocket构造方法:Socket方法:三、代码示例:回显服务器1、服务器代码代码解析2、客户端代码代码解析3、注意事项        (1)缓冲区    (2)socket的close,释放文件描述符表    (3)多线程的应用    (4)引入线程池的改进        1、协程        2、IO多路复用4、执行代码    前述:5、客户端和服务器交互的过程一、Java流套接字通信模型                1.客

数据结构小记【Python/C++版】——栈篇

一,基础概念栈是一种存放数据的线性结构容器,栈中的数据元素只能在同一端进行添加和删除等操作。栈中被用来进行数据读写的一端被称作栈顶,无法进行任何操作的另一端被称为栈底。元素在栈中的移动顺序依照后进先出(LIFO)原则,较早入栈的元素,更接近栈底,更晚被弹出。栈结构在生活中的抽象模型有:酒店堆起来的盘子,书架上堆起来的书等,都是从最顶部开始取走和放回的。二,栈的图示结构三,栈的常见操作push: 入栈操作,将数据从栈顶压入。pop: 出栈操作,从栈顶弹出数据。peek: 返回栈顶的数据而不删除它。size: 返回栈中数据的数量。isEmpty: 检查栈是否为空。isFull: 检查栈是否已满。四

flink重温笔记(十九): flinkSQL 顶层 API ——FlinkSQL 窗口(解决动态累积数据业务需求)

Flink学习笔记前言:今天是学习flink的第19天啦!学习了flinkSQL中窗口的应用,包括滚动窗口,滑动窗口,会话窗口,累计窗口,学会了如何计算累计值(类似于中视频计划中的累计播放量业务需求),多维数据分析等大数据热点问题,总结了很多自己的理解和想法,希望和大家多多交流,希望对大家有帮助!Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊!喜欢我的博客的话,记得点个红心❤️和小关小注哦!您的支持是我创作的动力!"文章目录Flink学习笔记六、FlinkSQL窗口1.窗口表值函数(tvfs)2.窗口分类函数及聚合操作2.

入门Web自动化测试之Selenium+Python基础方法封装

之前我们讲过元素定位的配置管理,这一篇我们来学习封装内容。封装既然选择了Python这门语言来实现Web自动化,那我们就不得不讲到一个重要的概念,那就是面向对象编程理念中的封装。就字面意思来理解的话,就像是把各种物品放入一个箱子内,日后需要使用的话就必须从这个箱子里拿才可以获取那个放入的物品。而这个比喻内的箱子就是Python内的类,而各类物品则是我们自己根据需要自定义的各种属性和数据、方法,后续需要使用这些属性、数据、方法时,只要引入对应的类并实例化即可。那这时一定会有人要问,封装的好处是什么呢?其实这里面的优点也是显而易见的。第一,封装完的类你完全不需要关心里面的功能实现逻辑(除非你要二开

区块链的数据结构(二)——默克尔树(Merkle Tree)

        区块链中的另外一个数据结构是Merkletree,在比特币中使用的就是这种结构:        可能没有听说过Merkletree,但一定听说过binarytree(二叉树)。        Merkletree和binarytree的区别:Merkletree用哈希指针代替了普通的指针        每个框内的两个哈希值,在一起取哈希,就是上框内的哈希值,如下图箭头表示:        这种数据结构的好处在于,只要记住根哈希值,就能检测出该树下的任何数据是否篡改。        圆圈内黄色的tx被修改,那么必然导致上方绿色的H()被修改,从而导致了上方绿色的H()被修改,从而